package com.bf.xpdd.service;

import java.util.List;

import com.bf.xpdd.domain.ActivityItemBean;

/**
 * 活动商品服务
 * 
 * @author linmu
 * 
 */
public interface ActivityItemService
{
	/**
	 * 向活动商品表中增加一条商品记录
	 * 
	 * @param item
	 *            活动商品信息
	 */
	void addActivityItem(ActivityItemBean item);

	/**
	 * 批量增加活动商品记录
	 * 
	 * @param itemList
	 *            活动商品集合
	 */
	void addActivityItemBatch(List<ActivityItemBean> itemList);

	/**
	 * 根据活动商品id查询活动商品信息
	 * 
	 * @param id
	 *            商品Id
	 * @return 商品信息
	 */
	ActivityItemBean queryActivityItemById(long id);

	/**
	 * 根据活动id查询当前活动下的商品信息
	 * 
	 * @param actId
	 *            活动Id
	 * @return 此次活动下所有的商品信息
	 */
	List<ActivityItemBean> queryActivityItemByActId(long actId);

	/**
	 * 根据活动id查询当前活动下所有的商品Id集合
	 * 
	 * @param actId
	 *            活动Id
	 * @return 此次活动下商品的Id集合
	 */
	List<Long> queryActItemIdsByActId(long actId);

	/**
	 * 根据活动id查询当前活动下第一个商品的集合
	 */
	List<ActivityItemBean> queryActItemByActIds(String actIds);

	/**
	 * 根据商品id从活动中删除该件商品
	 * 
	 * @param id
	 *            商品id
	 */
	void delActivityItemBeanById(long id);

	/**
	 * 根据活动id删除本次活动中的所有商品
	 * 
	 * @param id
	 *            活动id
	 */
	void delActivityItemBeanByActId(long id);

	/**
	 * 批量删除活动中的商品记录
	 * 
	 * @param aid
	 *            活动id
	 * @param itemIdList
	 *            待删除的商品id
	 */
	void delActivityItemByIdBatch(long aid, List<Long> itemIdList);

	/**
	 * 根据nick查询当前已经添加的商品id,
	 * 但是活动id不等于actId的商品, actId=0时,
	 */
	List<Long> queryActItemIdsByNick(String nick, long actId);
}
